/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bean;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author Jennerson
 */
@Entity
@Table(name="disciplina")
public class Disciplina {
    
    
        @Id
        private int codDisciplina;

        @JoinColumn(name = "codCurso", referencedColumnName = "codCurso")
        @ManyToOne
        private Curso curso;

        @Column
        private String nome;

		@Column
        private int carga_horaria;
        
        @Column
        private String turma;
        
        @Column
        private String periodo;
        
        @Column
        private int ano;
        
        @Column
        private int serie;

        @OneToMany(mappedBy = "disciplina")
        private List<Aula> aulas;

        @JoinTable(name = "Vinculo", joinColumns = {
        @JoinColumn(name = "CodDisciplina", referencedColumnName = "CodDisciplina")},
        inverseJoinColumns = {
                @JoinColumn(name = "matricula", referencedColumnName = "matricula")})
        @ManyToMany
        private List <Professor> professores;

        public List <Professor> getProfessores() {
			return professores;
		}

		public void setProfessores(List<Professor> professores) {
			this.professores = professores;
		}

		public int getCodDisciplina() {
            return codDisciplina;
        }

        public void setCodDisciplina(int codDisciplina) {
            this.codDisciplina = codDisciplina;
        }

        public Curso getCurso() {
            return curso;
        }

	public void setCurso(Curso curso) {
		this.curso = curso;
	}


	public List<Aula> getAulas() {
		return aulas;
	}

	public void setAulas(List<Aula> aulas) {
		this.aulas = aulas;
	}

	public String getNome() {
        return nome;
        }

        public void setNome(String nome) {
            this.nome = nome;
        }

        public int getCarga_horaria() {
            return carga_horaria;
        }

        public void setCarga_horaria(int carga_horaria) {
            this.carga_horaria = carga_horaria;
        }

        public String getTurma() {
            return turma;
        }

        public void setTurma(String turma) {
            this.turma = turma;
        }

        public String getPeriodo() {
            return periodo;
        }

        public void setPeriodo(String periodo) {
            this.periodo = periodo;
        }

        public int getAno() {
            return ano;
        }

        public void setAno(int ano) {
            this.ano = ano;
        }

        public int getSerie() {
            return serie;
        }

        public void setSerie(int serie) {
            this.serie = serie;
        }
        
        
    
        @Override
        public boolean equals(Object obj) {
            if (obj instanceof Disciplina) {
                Disciplina d = (Disciplina) obj;
                if (d.getCodDisciplina() == this.getCodDisciplina()) {
                    return true;
                }
            }
            return false;
        }
    
}
